Let nmea, itracku round time on read. Regnerate reference/track/nmea.gpx.
authorrobertlipe <robertlipe@f51c46e8-681c-474f-0cfe-069cfd0219fb>
Thu, 18 Jul 2013 02:16:35 +0000 (02:16 +0000)
committerrobertlipe <robertlipe@f51c46e8-681c-474f-0cfe-069cfd0219fb>
Thu, 18 Jul 2013 02:16:35 +0000 (02:16 +0000)
gpsbabel/itracku.cc
gpsbabel/nmea.cc
gpsbabel/reference/track/nmea.gpx

index 36e1402e055d984c2f29f503eaa94b50f40212f8..918abd72b1873631aaf7c66a85f4fe2041d77c5f 100644 (file)
@@ -659,15 +659,17 @@ itracku_rt_init(const char* fname)
 }
 
 static void
-nmea_set_waypoint_time(waypoint* wpt, struct tm* time, int microseconds)
+nmea_set_waypoint_time(waypoint* wpt, struct tm* time, double fsec)
 {
+  //fractions are stored as ms
+  int us = MILLI_TO_MICRO(lround(1000*fsec));
   if (time->tm_year == 0) {
-    wpt->SetCreationTime(((((time_t)time->tm_hour * 60) + time->tm_min) * 60) + time->tm_sec, microseconds);
+    wpt->SetCreationTime(((((time_t)time->tm_hour * 60) + time->tm_min) * 60) + time->tm_sec, us);
     if (wpt->wpt_flags.fmt_use == 0) {
       wpt->wpt_flags.fmt_use = 1;
     }
   } else {
-    wpt->SetCreationTime(mkgmtime(time), microseconds);
+    wpt->SetCreationTime(mkgmtime(time), us);
     if (wpt->wpt_flags.fmt_use != 0) {
       wpt->wpt_flags.fmt_use = 0;
     }
@@ -684,7 +686,7 @@ gprmc_parse(char* ibuf)
   unsigned int dmy;
   double speed,course;
   waypoint* waypt;
-  double microseconds;
+  double fsec;
   struct tm tm;
 
   int rc = sscanf(ibuf,"$GPRMC,%lf,%c,%lf,%c,%lf,%c,%lf,%lf,%u",
@@ -696,7 +698,7 @@ gprmc_parse(char* ibuf)
     return NULL;
   }
 
-  microseconds = MILLI_TO_MICRO(1000 * (hms - (int)hms));
+  fsec = hms - (int)hms;
 
   tm.tm_sec = (long) hms % 100;
   hms = hms / 100;
@@ -716,7 +718,7 @@ gprmc_parse(char* ibuf)
 
   WAYPT_SET(waypt, course, course);
 
-  nmea_set_waypoint_time(waypt, &tm, microseconds);
+  nmea_set_waypoint_time(waypt, &tm, fsec);
 
   if (latdir == 'S') {
     latdeg = -latdeg;
index d688176d418ad3e0b20d1aefd5398a84d9d84327..fb4020308229c2de9c4dde3e2478651db9eb86e7 100644 (file)
@@ -356,16 +356,18 @@ nmea_wr_deinit(void)
 }
 
 static void
-nmea_set_waypoint_time(waypoint* wpt, struct tm* time, int microseconds)
+nmea_set_waypoint_time(waypoint* wpt, struct tm* time, double fsec)
 {
+  //fractions are stored as ms
+  int us = MILLI_TO_MICRO(lround(1000*fsec));
   if (time->tm_year == 0) {
-    wpt->SetCreationTime(((((time_t)time->tm_hour * 60) + time->tm_min) * 60) + time->tm_sec, microseconds);
+    wpt->SetCreationTime(((((time_t)time->tm_hour * 60) + time->tm_min) * 60) + time->tm_sec, us);
     if (wpt->wpt_flags.fmt_use == 0) {
       wpt->wpt_flags.fmt_use = 1;
       without_date++;
     }
   } else {
-    wpt->SetCreationTime(mkgmtime(time), microseconds);
+    wpt->SetCreationTime(mkgmtime(time), us);
     if (wpt->wpt_flags.fmt_use != 0) {
       wpt->wpt_flags.fmt_use = 0;
       without_date--;
@@ -376,7 +378,8 @@ nmea_set_waypoint_time(waypoint* wpt, struct tm* time, int microseconds)
 static void
 gpgll_parse(char* ibuf)
 {
-  double latdeg, lngdeg, microseconds;
+  double latdeg, lngdeg;
+  double fsec;
   char lngdir, latdir;
   double hmsd;
   int hms;
@@ -399,7 +402,7 @@ gpgll_parse(char* ibuf)
 
   hms = (int) hmsd;
   last_read_time = hms;
-  microseconds = MILLI_TO_MICRO(1000 * (hmsd - hms));
+  fsec = hmsd - hms;
 
   tm.tm_sec = hms % 100;
   hms = hms / 100;
@@ -409,7 +412,7 @@ gpgll_parse(char* ibuf)
 
   waypt = waypt_new();
 
-  nmea_set_waypoint_time(waypt, &tm, microseconds);
+  nmea_set_waypoint_time(waypt, &tm, fsec);
 
   if (latdir == 'S') {
     latdeg = -latdeg;
@@ -437,7 +440,7 @@ gpgga_parse(char* ibuf)
   double hdop;
   char altunits;
   waypoint* waypt;
-  double microseconds;
+  double fsec;
 
   if (trk_head == NULL) {
     trk_head = route_head_alloc();
@@ -460,7 +463,7 @@ gpgga_parse(char* ibuf)
   }
 
   last_read_time = hms;
-  microseconds = MILLI_TO_MICRO(1000 * (hms - (int)hms));
+  fsec = hms - (int)hms;
 
   tm.tm_sec = (long) hms % 100;
   hms = hms / 100;
@@ -470,7 +473,7 @@ gpgga_parse(char* ibuf)
 
   waypt  = waypt_new();
 
-  nmea_set_waypoint_time(waypt, &tm, microseconds);
+  nmea_set_waypoint_time(waypt, &tm, fsec);
 
   if (latdir == 'S') {
     latdeg = -latdeg;
@@ -517,7 +520,7 @@ gprmc_parse(char* ibuf)
   unsigned int dmy;
   double speed,course;
   waypoint* waypt;
-  double microseconds;
+  double fsec;
   char* dmybuf;
   int i;
 
@@ -554,7 +557,7 @@ gprmc_parse(char* ibuf)
   sscanf(dmybuf,"%u", &dmy);
 
   last_read_time = hms;
-  microseconds = MILLI_TO_MICRO(1000 * (hms - (int)hms));
+  fsec = hms - (int)hms;
 
   tm.tm_sec = (long) hms % 100;
   hms = hms / 100;
@@ -579,7 +582,7 @@ gprmc_parse(char* ibuf)
       }
       /* The change of date wasn't recorded when
        * going from 235959 to 000000. */
-      nmea_set_waypoint_time(curr_waypt, &tm, microseconds);
+      nmea_set_waypoint_time(curr_waypt, &tm, fsec);
     }
     /* This point is both a waypoint and a trackpoint. */
     if (amod_waypoint) {
@@ -595,7 +598,7 @@ gprmc_parse(char* ibuf)
 
   WAYPT_SET(waypt, course, course);
 
-  nmea_set_waypoint_time(waypt, &tm, microseconds);
+  nmea_set_waypoint_time(waypt, &tm, fsec);
 
   if (latdir == 'S') {
     latdeg = -latdeg;
index 42ec83cb4d9b2184f8b0982d9b50fa897a9aad9a..adec90fd181e6274d28c2735934b96a73515c211 100644 (file)
       </trkpt>
       <trkpt lat="42.530505000" lon="-88.121721667">
         <ele>208.400000</ele>
-        <time>2004-08-07T03:29:22.377Z</time>
+        <time>2004-08-07T03:29:22.378Z</time>
         <course>140.759995</course>
         <speed>0.083333</speed>
         <fix>3d</fix>
       </trkpt>
       <trkpt lat="42.530508333" lon="-88.121723333">
         <ele>208.400000</ele>
-        <time>2004-08-07T03:29:23.377Z</time>
+        <time>2004-08-07T03:29:23.378Z</time>
         <course>143.919998</course>
         <speed>0.083333</speed>
         <fix>3d</fix>
       </trkpt>
       <trkpt lat="42.530511667" lon="-88.121725000">
         <ele>208.300000</ele>
-        <time>2004-08-07T03:29:24.377Z</time>
+        <time>2004-08-07T03:29:24.378Z</time>
         <course>140.850006</course>
         <speed>0.083333</speed>
         <fix>3d</fix>
       </trkpt>
       <trkpt lat="42.530513333" lon="-88.121726667">
         <ele>208.200000</ele>
-        <time>2004-08-07T03:29:25.377Z</time>
+        <time>2004-08-07T03:29:25.378Z</time>
         <course>145.270004</course>
         <speed>0.083333</speed>
         <fix>3d</fix>
       </trkpt>
       <trkpt lat="42.530515000" lon="-88.121730000">
         <ele>208.000000</ele>
-        <time>2004-08-07T03:29:26.377Z</time>
+        <time>2004-08-07T03:29:26.378Z</time>
         <course>145.610001</course>
         <speed>0.083333</speed>
         <fix>3d</fix>
       </trkpt>
       <trkpt lat="42.530516667" lon="-88.121733333">
         <ele>207.900000</ele>
-        <time>2004-08-07T03:29:27.377Z</time>
+        <time>2004-08-07T03:29:27.378Z</time>
         <course>145.139999</course>
         <speed>0.083333</speed>
         <fix>3d</fix>
       </trkpt>
       <trkpt lat="42.530518333" lon="-88.121736667">
         <ele>207.800000</ele>
-        <time>2004-08-07T03:29:28.377Z</time>
+        <time>2004-08-07T03:29:28.378Z</time>
         <course>143.490005</course>
         <speed>0.083333</speed>
         <fix>3d</fix>
       </trkpt>
       <trkpt lat="42.530518333" lon="-88.121738333">
         <ele>207.700000</ele>
-        <time>2004-08-07T03:29:29.377Z</time>
+        <time>2004-08-07T03:29:29.378Z</time>
         <course>145.089996</course>
         <speed>0.111111</speed>
         <fix>3d</fix>
       </trkpt>
       <trkpt lat="42.530518333" lon="-88.121740000">
         <ele>207.800000</ele>
-        <time>2004-08-07T03:29:30.377Z</time>
+        <time>2004-08-07T03:29:30.378Z</time>
         <course>143.000000</course>
         <speed>0.083333</speed>
         <fix>3d</fix>
       </trkpt>
       <trkpt lat="42.530518333" lon="-88.121740000">
         <ele>207.900000</ele>
-        <time>2004-08-07T03:29:31.377Z</time>
+        <time>2004-08-07T03:29:31.378Z</time>
         <course>144.100006</course>
         <speed>0.083333</speed>
         <fix>3d</fix>
       </trkpt>
       <trkpt lat="42.530520000" lon="-88.121740000">
         <ele>208.200000</ele>
-        <time>2004-08-07T03:29:32.377Z</time>
+        <time>2004-08-07T03:29:32.378Z</time>
         <course>142.360001</course>
         <speed>0.111111</speed>
         <fix>3d</fix>
       </trkpt>
       <trkpt lat="42.530521667" lon="-88.121740000">
         <ele>208.600000</ele>
-        <time>2004-08-07T03:29:33.377Z</time>
+        <time>2004-08-07T03:29:33.378Z</time>
         <course>139.899994</course>
         <speed>0.083333</speed>
         <fix>3d</fix>
       </trkpt>
       <trkpt lat="42.530521667" lon="-88.121738333">
         <ele>209.200000</ele>
-        <time>2004-08-07T03:29:34.377Z</time>
+        <time>2004-08-07T03:29:34.378Z</time>
         <course>145.610001</course>
         <speed>0.111111</speed>
         <fix>3d</fix>
       </trkpt>
       <trkpt lat="42.530523333" lon="-88.121738333">
         <ele>209.800000</ele>
-        <time>2004-08-07T03:29:35.377Z</time>
+        <time>2004-08-07T03:29:35.378Z</time>
         <course>143.770004</course>
         <speed>0.111111</speed>
         <fix>3d</fix>
       </trkpt>
       <trkpt lat="42.530523333" lon="-88.121738333">
         <ele>210.600000</ele>
-        <time>2004-08-07T03:29:36.377Z</time>
+        <time>2004-08-07T03:29:36.378Z</time>
         <course>144.649994</course>
         <speed>0.111111</speed>
         <fix>3d</fix>
       </trkpt>
       <trkpt lat="42.530521667" lon="-88.121738333">
         <ele>211.400000</ele>
-        <time>2004-08-07T03:29:37.377Z</time>
+        <time>2004-08-07T03:29:37.378Z</time>
         <course>144.570007</course>
         <speed>0.111111</speed>
         <fix>3d</fix>
       </trkpt>
       <trkpt lat="42.530521667" lon="-88.121738333">
         <ele>212.200000</ele>
-        <time>2004-08-07T03:29:38.377Z</time>
+        <time>2004-08-07T03:29:38.378Z</time>
         <course>144.350006</course>
         <speed>0.083333</speed>
         <fix>3d</fix>
       </trkpt>
       <trkpt lat="42.530515000" lon="-88.121716667">
         <ele>212.600000</ele>
-        <time>2004-08-07T03:29:55.375Z</time>
+        <time>2004-08-07T03:29:55.376Z</time>
         <course>141.190002</course>
         <speed>0.111111</speed>
         <fix>3d</fix>
       </trkpt>
       <trkpt lat="42.530513333" lon="-88.121718333">
         <ele>212.900000</ele>
-        <time>2004-08-07T03:29:56.375Z</time>
+        <time>2004-08-07T03:29:56.376Z</time>
         <course>142.600006</course>
         <speed>0.083333</speed>
         <fix>3d</fix>
       </trkpt>
       <trkpt lat="42.530513333" lon="-88.121721667">
         <ele>213.400000</ele>
-        <time>2004-08-07T03:29:57.375Z</time>
+        <time>2004-08-07T03:29:57.376Z</time>
         <course>142.809998</course>
         <speed>0.111111</speed>
         <fix>3d</fix>
       </trkpt>
       <trkpt lat="42.530513333" lon="-88.121725000">
         <ele>213.800000</ele>
-        <time>2004-08-07T03:29:58.375Z</time>
+        <time>2004-08-07T03:29:58.376Z</time>
         <course>140.440002</course>
         <speed>0.111111</speed>
         <fix>3d</fix>
       </trkpt>
       <trkpt lat="42.530515000" lon="-88.121728333">
         <ele>214.200000</ele>
-        <time>2004-08-07T03:29:59.375Z</time>
+        <time>2004-08-07T03:29:59.376Z</time>
         <course>142.369995</course>
         <speed>0.111111</speed>
         <fix>3d</fix>
       </trkpt>
       <trkpt lat="42.530515000" lon="-88.121730000">
         <ele>214.700000</ele>
-        <time>2004-08-07T03:30:00.375Z</time>
+        <time>2004-08-07T03:30:00.376Z</time>
         <course>139.389999</course>
         <speed>0.111111</speed>
         <fix>3d</fix>
       </trkpt>
       <trkpt lat="42.530516667" lon="-88.121733333">
         <ele>215.000000</ele>
-        <time>2004-08-07T03:30:01.375Z</time>
+        <time>2004-08-07T03:30:01.376Z</time>
         <course>139.869995</course>
         <speed>0.111111</speed>
         <fix>3d</fix>
       </trkpt>
       <trkpt lat="42.530516667" lon="-88.121733333">
         <ele>215.200000</ele>
-        <time>2004-08-07T03:30:02.375Z</time>
+        <time>2004-08-07T03:30:02.376Z</time>
         <course>141.369995</course>
         <speed>0.111111</speed>
         <fix>3d</fix>
       </trkpt>
       <trkpt lat="42.530516667" lon="-88.121733333">
         <ele>215.200000</ele>
-        <time>2004-08-07T03:30:03.375Z</time>
+        <time>2004-08-07T03:30:03.376Z</time>
         <course>139.160004</course>
         <speed>0.111111</speed>
         <fix>3d</fix>
       </trkpt>
       <trkpt lat="42.530516667" lon="-88.121733333">
         <ele>215.200000</ele>
-        <time>2004-08-07T03:30:04.375Z</time>
+        <time>2004-08-07T03:30:04.376Z</time>
         <course>142.389999</course>
         <speed>0.111111</speed>
         <fix>3d</fix>
       </trkpt>
       <trkpt lat="42.530515000" lon="-88.121730000">
         <ele>215.200000</ele>
-        <time>2004-08-07T03:30:05.375Z</time>
+        <time>2004-08-07T03:30:05.376Z</time>
         <course>140.449997</course>
         <speed>0.111111</speed>
         <fix>3d</fix>
       </trkpt>
       <trkpt lat="42.530515000" lon="-88.121726667">
         <ele>215.100000</ele>
-        <time>2004-08-07T03:30:06.375Z</time>
+        <time>2004-08-07T03:30:06.376Z</time>
         <course>141.089996</course>
         <speed>0.083333</speed>
         <fix>3d</fix>
       </trkpt>
       <trkpt lat="42.530515000" lon="-88.121723333">
         <ele>214.800000</ele>
-        <time>2004-08-07T03:30:07.375Z</time>
+        <time>2004-08-07T03:30:07.376Z</time>
         <course>140.729996</course>
         <speed>0.111111</speed>
         <fix>3d</fix>
       </trkpt>
       <trkpt lat="42.530513333" lon="-88.121721667">
         <ele>214.600000</ele>
-        <time>2004-08-07T03:30:08.375Z</time>
+        <time>2004-08-07T03:30:08.376Z</time>
         <course>137.970001</course>
         <speed>0.111111</speed>
         <fix>3d</fix>
       </trkpt>
       <trkpt lat="42.530513333" lon="-88.121718333">
         <ele>214.300000</ele>
-        <time>2004-08-07T03:30:09.375Z</time>
+        <time>2004-08-07T03:30:09.376Z</time>
         <course>144.869995</course>
         <speed>0.111111</speed>
         <fix>3d</fix>
       </trkpt>
       <trkpt lat="42.530513333" lon="-88.121716667">
         <ele>214.000000</ele>
-        <time>2004-08-07T03:30:10.375Z</time>
+        <time>2004-08-07T03:30:10.376Z</time>
         <course>137.610001</course>
         <speed>0.083333</speed>
         <fix>3d</fix>
       </trkpt>
       <trkpt lat="42.530510000" lon="-88.121748333">
         <ele>223.800000</ele>
-        <time>2004-08-07T03:30:44.372Z</time>
+        <time>2004-08-07T03:30:44.373Z</time>
         <course>142.240005</course>
         <speed>0.111111</speed>
         <fix>3d</fix>
       </trkpt>
       <trkpt lat="42.530511667" lon="-88.121750000">
         <ele>224.800000</ele>
-        <time>2004-08-07T03:30:45.372Z</time>
+        <time>2004-08-07T03:30:45.373Z</time>
         <course>142.729996</course>
         <speed>0.111111</speed>
         <fix>3d</fix>
       </trkpt>
       <trkpt lat="42.530511667" lon="-88.121751667">
         <ele>225.700000</ele>
-        <time>2004-08-07T03:30:46.372Z</time>
+        <time>2004-08-07T03:30:46.373Z</time>
         <course>141.520004</course>
         <speed>0.083333</speed>
         <fix>3d</fix>
       </trkpt>
       <trkpt lat="42.530511667" lon="-88.121753333">
         <ele>226.400000</ele>
-        <time>2004-08-07T03:30:47.372Z</time>
+        <time>2004-08-07T03:30:47.373Z</time>
         <course>141.429993</course>
         <speed>0.111111</speed>
         <fix>3d</fix>
       </trkpt>
       <trkpt lat="42.530511667" lon="-88.121755000">
         <ele>227.000000</ele>
-        <time>2004-08-07T03:30:48.372Z</time>
+        <time>2004-08-07T03:30:48.373Z</time>
         <course>137.690002</course>
         <speed>0.111111</speed>
         <fix>3d</fix>
       </trkpt>
       <trkpt lat="42.530511667" lon="-88.121758333">
         <ele>227.500000</ele>
-        <time>2004-08-07T03:30:49.372Z</time>
+        <time>2004-08-07T03:30:49.373Z</time>
         <course>144.580002</course>
         <speed>0.083333</speed>
         <fix>3d</fix>
       </trkpt>
       <trkpt lat="42.530511667" lon="-88.121760000">
         <ele>227.900000</ele>
-        <time>2004-08-07T03:30:50.372Z</time>
+        <time>2004-08-07T03:30:50.373Z</time>
         <course>144.809998</course>
         <speed>0.111111</speed>
         <fix>3d</fix>
       </trkpt>
       <trkpt lat="42.530510000" lon="-88.121761667">
         <ele>228.200000</ele>
-        <time>2004-08-07T03:30:51.372Z</time>
+        <time>2004-08-07T03:30:51.373Z</time>
         <course>143.139999</course>
         <speed>0.111111</speed>
         <fix>3d</fix>
       </trkpt>
       <trkpt lat="42.530510000" lon="-88.121763333">
         <ele>228.300000</ele>
-        <time>2004-08-07T03:30:52.372Z</time>
+        <time>2004-08-07T03:30:52.373Z</time>
         <course>143.270004</course>
         <speed>0.111111</speed>
         <fix>3d</fix>
       </trkpt>
       <trkpt lat="42.530508333" lon="-88.121765000">
         <ele>228.400000</ele>
-        <time>2004-08-07T03:30:53.372Z</time>
+        <time>2004-08-07T03:30:53.373Z</time>
         <course>139.119995</course>
         <speed>0.111111</speed>
         <fix>3d</fix>
       </trkpt>
       <trkpt lat="42.530508333" lon="-88.121766667">
         <ele>228.300000</ele>
-        <time>2004-08-07T03:30:54.372Z</time>
+        <time>2004-08-07T03:30:54.373Z</time>
         <course>140.070007</course>
         <speed>0.111111</speed>
         <fix>3d</fix>
       </trkpt>
       <trkpt lat="42.530508333" lon="-88.121766667">
         <ele>228.100000</ele>
-        <time>2004-08-07T03:30:55.372Z</time>
+        <time>2004-08-07T03:30:55.373Z</time>
         <course>144.720001</course>
         <speed>0.111111</speed>
         <fix>3d</fix>
       </trkpt>
       <trkpt lat="42.530510000" lon="-88.121766667">
         <ele>227.800000</ele>
-        <time>2004-08-07T03:30:56.372Z</time>
+        <time>2004-08-07T03:30:56.373Z</time>
         <course>140.800003</course>
         <speed>0.111111</speed>
         <fix>3d</fix>
       </trkpt>
       <trkpt lat="42.530511667" lon="-88.121766667">
         <ele>227.500000</ele>
-        <time>2004-08-07T03:30:57.372Z</time>
+        <time>2004-08-07T03:30:57.373Z</time>
         <course>143.259995</course>
         <speed>0.111111</speed>
         <fix>3d</fix>
       </trkpt>
       <trkpt lat="42.530513333" lon="-88.121765000">
         <ele>227.200000</ele>
-        <time>2004-08-07T03:30:58.372Z</time>
+        <time>2004-08-07T03:30:58.373Z</time>
         <course>138.809998</course>
         <speed>0.111111</speed>
         <fix>3d</fix>
       </trkpt>
       <trkpt lat="42.530513333" lon="-88.121763333">
         <ele>226.800000</ele>
-        <time>2004-08-07T03:30:59.372Z</time>
+        <time>2004-08-07T03:30:59.373Z</time>
         <course>143.110001</course>
         <speed>0.111111</speed>
         <fix>3d</fix>
       </trkpt>
       <trkpt lat="42.530490000" lon="-88.121763333">
         <ele>224.500000</ele>
-        <time>2004-08-07T03:31:17.370Z</time>
+        <time>2004-08-07T03:31:17.371Z</time>
         <course>141.300003</course>
         <speed>0.111111</speed>
         <fix>3d</fix>
       </trkpt>
       <trkpt lat="42.530488333" lon="-88.121763333">
         <ele>224.700000</ele>
-        <time>2004-08-07T03:31:18.370Z</time>
+        <time>2004-08-07T03:31:18.371Z</time>
         <course>141.190002</course>
         <speed>0.111111</speed>
         <fix>3d</fix>
       </trkpt>
       <trkpt lat="42.530488333" lon="-88.121760000">
         <ele>225.000000</ele>
-        <time>2004-08-07T03:31:19.370Z</time>
+        <time>2004-08-07T03:31:19.371Z</time>
         <course>143.009995</course>
         <speed>0.111111</speed>
         <fix>3d</fix>
       </trkpt>
       <trkpt lat="42.530488333" lon="-88.121758333">
         <ele>225.200000</ele>
-        <time>2004-08-07T03:31:20.370Z</time>
+        <time>2004-08-07T03:31:20.371Z</time>
         <course>140.809998</course>
         <speed>0.111111</speed>
         <fix>3d</fix>
       </trkpt>
       <trkpt lat="42.530490000" lon="-88.121755000">
         <ele>225.300000</ele>
-        <time>2004-08-07T03:31:21.370Z</time>
+        <time>2004-08-07T03:31:21.371Z</time>
         <course>140.789993</course>
         <speed>0.111111</speed>
         <fix>3d</fix>
       </trkpt>
       <trkpt lat="42.530490000" lon="-88.121751667">
         <ele>225.300000</ele>
-        <time>2004-08-07T03:31:22.370Z</time>
+        <time>2004-08-07T03:31:22.371Z</time>
         <course>141.429993</course>
         <speed>0.111111</speed>
         <fix>3d</fix>
       </trkpt>
       <trkpt lat="42.530491667" lon="-88.121750000">
         <ele>225.300000</ele>
-        <time>2004-08-07T03:31:23.370Z</time>
+        <time>2004-08-07T03:31:23.371Z</time>
         <course>142.300003</course>
         <speed>0.111111</speed>
         <fix>3d</fix>
       </trkpt>
       <trkpt lat="42.530493333" lon="-88.121748333">
         <ele>225.200000</ele>
-        <time>2004-08-07T03:31:24.370Z</time>
+        <time>2004-08-07T03:31:24.371Z</time>
         <course>140.809998</course>
         <speed>0.083333</speed>
         <fix>3d</fix>
       </trkpt>
       <trkpt lat="42.530493333" lon="-88.121750000">
         <ele>225.200000</ele>
-        <time>2004-08-07T03:31:25.370Z</time>
+        <time>2004-08-07T03:31:25.371Z</time>
         <course>142.399994</course>
         <speed>0.111111</speed>
         <fix>3d</fix>
       </trkpt>
       <trkpt lat="42.530495000" lon="-88.121751667">
         <ele>225.200000</ele>
-        <time>2004-08-07T03:31:26.370Z</time>
+        <time>2004-08-07T03:31:26.371Z</time>
         <course>140.330002</course>
         <speed>0.083333</speed>
         <fix>3d</fix>
       </trkpt>
       <trkpt lat="42.530496667" lon="-88.121753333">
         <ele>225.100000</ele>
-        <time>2004-08-07T03:31:27.370Z</time>
+        <time>2004-08-07T03:31:27.371Z</time>
         <course>137.770004</course>
         <speed>0.083333</speed>
         <fix>3d</fix>
       </trkpt>
       <trkpt lat="42.530496667" lon="-88.121755000">
         <ele>225.000000</ele>
-        <time>2004-08-07T03:31:28.370Z</time>
+        <time>2004-08-07T03:31:28.371Z</time>
         <course>142.289993</course>
         <speed>0.111111</speed>
         <fix>3d</fix>
       </trkpt>
       <trkpt lat="42.530498333" lon="-88.121756667">
         <ele>224.900000</ele>
-        <time>2004-08-07T03:31:29.370Z</time>
+        <time>2004-08-07T03:31:29.371Z</time>
         <course>140.869995</course>
         <speed>0.111111</speed>
         <fix>3d</fix>
       </trkpt>
       <trkpt lat="42.530500000" lon="-88.121758333">
         <ele>224.700000</ele>
-        <time>2004-08-07T03:31:30.370Z</time>
+        <time>2004-08-07T03:31:30.371Z</time>
         <course>141.699997</course>
         <speed>0.111111</speed>
         <fix>3d</fix>
       </trkpt>
       <trkpt lat="42.530500000" lon="-88.121758333">
         <ele>224.500000</ele>
-        <time>2004-08-07T03:31:31.370Z</time>
+        <time>2004-08-07T03:31:31.371Z</time>
         <course>141.699997</course>
         <speed>0.111111</speed>
         <fix>3d</fix>
       </trkpt>
       <trkpt lat="42.530501667" lon="-88.121760000">
         <ele>224.300000</ele>
-        <time>2004-08-07T03:31:32.370Z</time>
+        <time>2004-08-07T03:31:32.371Z</time>
         <course>140.330002</course>
         <speed>0.111111</speed>
         <fix>3d</fix>